gtk-demo: Fix fishbowl setup
authorMatthias Clasen <mclasen@redhat.com>
Mon, 11 Feb 2019 13:24:06 +0000 (08:24 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 11 Feb 2019 13:51:13 +0000 (08:51 -0500)
The fishbowl demo was failing to reset a static variable
when setting up, causing it to crash the second time around.

Closes: #1665
demos/gtk-demo/fishbowl.c

index af5a3ae8f9d2ede581fc5581a9c0137c4014356b..0f926c8fd15bf5d3a41ae185d3ce832f101585c1 100644 (file)
@@ -264,7 +264,10 @@ do_fishbowl (GtkWidget *do_widget)
                                         NULL);
       gtk_builder_connect_signals (builder, NULL);
       window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
+      g_signal_connect (window, "destroy",
+                        G_CALLBACK (gtk_widget_destroyed), &window);
       bowl = GTK_WIDGET (gtk_builder_get_object (builder, "bowl"));
+      selected_widget_type = -1;
       set_widget_type (GTK_FISHBOWL (bowl), 0);
       gtk_window_set_display (GTK_WINDOW (window),
                               gtk_widget_get_display (do_widget));
@@ -279,6 +282,5 @@ do_fishbowl (GtkWidget *do_widget)
   else
     gtk_widget_destroy (window);
 
-
   return window;
 }